<template>
    <div class="login">
        <div class="mui-login">
            <from class="mui-input-group">
                <div class="mui-input-row">
                    <label>账号</label>
                    <input v-model="loginForm.username" type="text" class="mui-input-clear mui-input" placeholder="请输入账号">
                </div>
                <div class="mui-input-row">
                    <label>密码</label>
                    <input v-model="loginForm.password" type="password" class="mui-input-clear mui-input" placeholder="请输入密码">
                </div>
            </from>
            <div class="mui-content-padded">
                <button @click="login" type="button" class="mui-btn mui-btn-block mui-btn-primary">登录</button>
                <div class="link-area"><a @click="register">还没有账号？前往注册</a></div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        data () {
            return {
                loginForm: {
                    username: '',
                    password: ''
                }
            }
        },
        methods: {
            login () {
            // 登录
              if(this.loginForm.username === '' || this.loginForm.password === '') {
                this.$toast('账号或密码不能为空')
              } else {
                this.$http.post('login', this.loginForm).then(res => {
                  if (res.data.code === 0) {
                    this.$toast(res.data.msg)
                  } else {
                  // 登录成功
                  this.$store.commit('user/setUser', res.data.data)
                  this.$auth.setAuthorization(res.data.data.session_id)
                  this.$toast(res.data.msg)
                  this.$router.replace({ name: 'user' })
                  }
                }).catch(() => {
                  this.$toast('登录失败')
                })
              }
            },
            register () {
                this.$router.push({ name: 'register' })
            }
        }
    }
</script>

<style lang="scss" scoped>
.mui-input-group {
  margin-top: 10px;
  background-color: transparent;
}
.mui-input-group label {
  width: 22%;
}
.mui-input-row:last-child {
  background: #fff;
}
.mui-input-row {
  margin-top: 20px;
  background: #fff;
}
.mui-input-row label~input,
.mui-input-row label~select,
.mui-input-row label~textarea {
  width: 78%;
}
.link-area {
  display: block;
  margin-top: 25px;
  text-align: center;
}
.mui-content-padded {
  margin-top: 30px;
}
</style>